import java.io.*;
import java.net.*;


//ioexceptions + ip ke vuoi
public class Client {
	
	private static ServerSocket s;
	
	private static final String header = "Inserisci il testo da inviare. Digita 'END' per terminare";
	
	public static void main(String argv[]) {
		
		InetAddress addr = null;
		try {	
			addr = InetAddress.getLocalHost();
			Socket socket = new Socket("localhost",20122);
			PrintWriter out = new PrintWriter( new BufferedWriter( new OutputStreamWriter(socket.getOutputStream() ) ),true );
			
			BufferedReader in = new BufferedReader( new InputStreamReader( socket.getInputStream() ) ); // lettura di dati che vengono dal server
			
			String letto, msg;
			BufferedReader lettore = new BufferedReader( new InputStreamReader( System.in ) );
			
			System.out.println(header);
			
			do {
				/* Riceve i messaggi*/
				msg = in.readLine();
				if(msg == null) System.out.println("Nessun mesaggio");
				else System.out.println("Messaggio ricevuto: "+msg);
				/* Invia messaggi*/
				letto = lettore.readLine();
				out.println(letto);
			}
			while(socket.isConnected()); //letto.equalsIgnoreCase("end") esci da implementare
			
			// Chiudi gli stream
			socket.close();
			out.close();
			in.close();
		}
		catch(UnknownHostException e){
			System.out.println("ERRORE: Host sconosciuto");
		} 
		catch(ConnectException e) {
			System.out.println("ERRORE: Connessione terminata per "+e.getMessage());
		}
		catch(IOException e) {
			System.out.println("ERRORE: Connessione ???");
		}
		
		
	}
}